#ifndef QMONOWAVEFORMDRAWING_H_C6C5DEAB_C25E_47D2_9C3E_BA4BD7B3146B
#define QMONOWAVEFORMDRAWING_H_C6C5DEAB_C25E_47D2_9C3E_BA4BD7B3146B

#include "AudioUtils_global.h"

#include <QColor>

class QPainter;
class QRect;

namespace AudioUtils {

class QAudioReader;
class QAudioFormat;

class AUDIOUTILS_EXPORT QMonoWaveformDrawing
{
public:
	QMonoWaveformDrawing();
	~QMonoWaveformDrawing();

	void setLineColor(QColor color);
	QColor GetLineColor() const;

	void setBackGroundColor(QColor color);
	QColor getBackGroundColor() const;

public:
	void draw(
		QPainter& painter,
		QAudioFormat& format,
		QAudioReader& reader, 
		const QRect& rect
		);

	void draw(
		QPainter& painter,
		QAudioFormat& format,
		QAudioReader& reader,
		const QRect& rect,
		quint64 startSample,
		quint64 stopSample
		);

	void draw(
		QPainter& painter,
		QAudioFormat& format,
		QAudioReader& reader,
		const QRect& rect,
		double startSeconds,
		double stopSeconds
		);

private:
	QColor backgroundColor;
	QColor lineColor;
};

}

#endif // QMONOWAVEFORMDRAWING_H_C6C5DEAB_C25E_47D2_9C3E_BA4BD7B3146B

